unit UCadastroPedidoAlameda;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, UFomCadastro, DBCtrls, StdCtrls, Buttons, ExtCtrls, Mask,
  ToolEdit, RXDBCtrl, ComCtrls, DB, DBTables, DBClient, CurrEdit, RLReport,
  RLHTMLFilter, RLPDFFilter, RLXLSFilter, RLFilters, RLRichFilter,
  RLDraftFilter, Provider, Menus, Grids, DBGrids, CheckLst;

type
  TFCadastroPedidoAlameda = class(TFormCadastro)
    PCPedido: TPageControl;
    TAbertura: TTabSheet;
    Label1: TLabel;
    Label3: TLabel;
    lbFornecedor: TLabel;
    Label20: TLabel;
    Label30: TLabel;
    Label2: TLabel;
    QtdObs: TLabel;
    DBDTData: TDBDateEdit;
    DBDatePrevisao: TDBDateEdit;
    DBLCBFornecedor: TDBLookupComboBox;
    edCodigo: TDBEdit;
    edCondPagto: TDBEdit;
    edObs: TDBMemo;
    GroupBox2: TGroupBox;
    lbQuantidade: TLabel;
    DBText12: TDBText;
    GroupBox6: TGroupBox;
    edContato: TDBEdit;
    TItens: TTabSheet;
    Label66: TLabel;
    Label35: TLabel;
    Label18: TLabel;
    Label19: TLabel;
    Label24: TLabel;
    DBLCBProdutoMercadoria: TDBLookupComboBox;
    EdCodProdutoMercadoria: TEdit;
    RxDBValorUnitario: TRxDBCalcEdit;
    RxDBValorTotal: TRxDBCalcEdit;
    RxDBCQtd: TRxDBCalcEdit;
    Panel6: TPanel;
    BitSalvarItem: TBitBtn;
    BitCancelarItem: TBitBtn;
    Panel4: TPanel;
    BitInseriItem: TBitBtn;
    BitEditarItem: TBitBtn;
    BitExcluirItem: TBitBtn;
    DBNitens: TDBNavigator;
    stItens: TStaticText;
    TValores2: TTabSheet;
    TComplemento: TTabSheet;
    Label28: TLabel;
    DBMemo1: TDBMemo;
    Tvalores: TTabSheet;
    Label22: TLabel;
    Label23: TLabel;
    Label26: TLabel;
    Label27: TLabel;
    Label38: TLabel;
    Label25: TLabel;
    DBRadioGroup1: TDBRadioGroup;
    BtnEmissao: TBitBtn;
    cdsItens: TClientDataSet;
    cdsItensITENS_PED_CODIGO: TIntegerField;
    cdsItensITENS_PED_PEDIDO: TIntegerField;
    cdsItensITENS_PED_PRODUTO: TIntegerField;
    cdsItensITENS_PED_QUANTIDADE: TFloatField;
    cdsItensITENS_PED_QUANTIDADEATEN: TFloatField;
    cdsItensITENS_PED_VALOR: TFloatField;
    cdsItensITENS_PED_SITUACAO: TIntegerField;
    cdsItensITENS_PED_VALOR_TOTAL: TFloatField;
    cdsItensITENS_PED_LOCAL: TIntegerField;
    cdsItensITENS_PED_OUTROS_VALORES: TFloatField;
    cdsItensITENS_PED_PERC_IPI: TFloatField;
    cdsItensITENS_PED_VALOR_IPI: TFloatField;
    cdsItensITENS_PED_NF: TStringField;
    cdsItensUSUARIO_CADASTRO: TStringField;
    cdsItensUSUARIO_AUTERACAO: TStringField;
    cdsItensUSUARIO_EXCLUSAO: TStringField;
    cdsItensDATA_CADASTRO: TDateTimeField;
    cdsItensDATA_EXCLUSAO: TDateTimeField;
    cdsItensDATA_AUTERACAO: TDateTimeField;
    cdsItensEXCLUIDO: TStringField;
    cdsItensITENS_PED_PRODUTO_DESC: TStringField;
    cdsItensITENS_PED_DATAATEND: TDateTimeField;
    cdsItensITENS_PED_NFATEND: TIntegerField;
    dspItens: TDataSetProvider;
    QItens: TQuery;
    dsItens: TDataSource;
    DSProduto_Mercadoria: TDataSource;
    DSFornecedor: TDataSource;
    cdsCadastroPED_CODIGO: TIntegerField;
    cdsCadastroPED_FORNECEDOR: TIntegerField;
    cdsCadastroPED_TRANSPORTADORA: TIntegerField;
    cdsCadastroPED_OBS: TStringField;
    cdsCadastroPED_DATA: TDateTimeField;
    cdsCadastroPED_NF: TStringField;
    cdsCadastroPED_DATAENTREGA: TDateTimeField;
    cdsCadastroUSUARIO: TStringField;
    cdsCadastroDATAMODIFICACAO: TDateTimeField;
    cdsCadastroCODIGOEMPRESA: TIntegerField;
    cdsCadastroPED_SITUACAO: TIntegerField;
    cdsCadastroPED_DATASITUACAO: TDateTimeField;
    cdsCadastroPED_LOCAL: TIntegerField;
    cdsCadastroPED_VALOR_TOT_ITENS: TFloatField;
    cdsCadastroPED_VALOR_TOT_OUTROS_VALORES: TFloatField;
    cdsCadastroPED_VALOR_DESC0NTO: TFloatField;
    cdsCadastroPED_VALOR_CREDITO: TFloatField;
    cdsCadastroPED_VALOR_PEDIDO: TFloatField;
    cdsCadastroPED_VALOR_TOT_IPI: TFloatField;
    cdsCadastroPED_SOLICITANTE_DESC: TStringField;
    cdsCadastroPED_FORNECEDOR_DESC: TStringField;
    cdsCadastroUSUARIO_CADASTRO: TStringField;
    cdsCadastroUSUARIO_AUTERACAO: TStringField;
    cdsCadastroUSUARIO_EXCLUSAO: TStringField;
    cdsCadastroDATA_CADASTRO: TDateTimeField;
    cdsCadastroDATA_EXCLUSAO: TDateTimeField;
    cdsCadastroDATA_AUTERACAO: TDateTimeField;
    cdsCadastroPED_ORIGEM: TStringField;
    cdsCadastroPED_VALORFRETE: TFloatField;
    cdsCadastroPED_COMPRADOR: TStringField;
    cdsCadastroPED_TIPO: TStringField;
    cdsCadastroPED_SOLICITACAO: TIntegerField;
    cdsCadastroPED_DATASOLICITACAO: TDateTimeField;
    cdsCadastroPED_QTDSOLICITACAO: TIntegerField;
    cdsCadastroPED_CONDPAGTO: TStringField;
    cdsCadastroPED_PERCONDPAGTO: TStringField;
    cdsCadastroPED_CRITERIO: TIntegerField;
    cdsCadastroPED_FECHAMENTO: TStringField;
    cdsCadastroPED_CONTATO: TStringField;
    cdsCadastroPED_AUT1_SITUACAO: TStringField;
    cdsCadastroPED_AUT1_AUTORIZANTE: TIntegerField;
    cdsCadastroPED_AUT1_AUTORI_DESC: TStringField;
    cdsCadastroPED_AUT1_DATA: TDateTimeField;
    cdsCadastroPED_AUT1_OBS: TStringField;
    cdsCadastroPED_AUT2_SITUACAO: TStringField;
    cdsCadastroPED_AUT2_AUTORIZANTE: TIntegerField;
    cdsCadastroPED_AUT2_AUTORI_DESC: TStringField;
    cdsCadastroPED_AUT2_DATA: TDateTimeField;
    cdsCadastroPED_AUT2_OBS: TStringField;
    cdsCadastroPED_AUT3_SITUACAO: TStringField;
    cdsCadastroPED_AUT3_AUTORIZANTE: TIntegerField;
    cdsCadastroPED_AUT3_AUTORI_DESC: TStringField;
    cdsCadastroPED_AUT3_DATA: TDateTimeField;
    cdsCadastroPED_AUT3_OBS: TStringField;
    cdsCadastroPED_AUT_SITUACAO: TStringField;
    cdsCadastroUSUARIO_RECUPERACAO: TStringField;
    cdsCadastroDATA_RECUPERACAO: TDateTimeField;
    cdsCadastroPED_FRETE: TIntegerField;
    cdsCadastroPED_SOLICITANTE: TStringField;
    cdsCadastroSITUACAO_DA_REPLICACAO: TStringField;
    cdsCadastroDATA_REPLICACAO: TDateTimeField;
    cdsCadastroEXCLUIDO: TStringField;
    GroupBox1: TGroupBox;
    Label4: TLabel;
    Label5: TLabel;
    DBText2: TDBText;
    GroupBox9: TGroupBox;
    lbSituacaoItens: TLabel;
    gbAtendido: TGroupBox;
    Label8: TLabel;
    Label32: TLabel;
    Label33: TLabel;
    DBText9: TDBText;
    DBText10: TDBText;
    DBText11: TDBText;
    Label6: TLabel;
    DBEdit1: TDBEdit;
    Label7: TLabel;
    DBEdit2: TDBEdit;
    DBEdit3: TDBEdit;
    DBEdit4: TDBEdit;
    Label9: TLabel;
    DBEdit5: TDBEdit;
    Label10: TLabel;
    DBLookupComboBox1: TDBLookupComboBox;
    DSTransportadora: TDataSource;
    DBRadioGroup2: TDBRadioGroup;
    Label11: TLabel;
    DBEdit6: TDBEdit;
    Label12: TLabel;
    DBDateEdit1: TDBDateEdit;
    Label16: TLabel;
    Label13: TLabel;
    Label21: TLabel;
    Label31: TLabel;
    Label34: TLabel;
    Label37: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    Edit5: TEdit;
    RxDBCalcEdit1: TRxDBCalcEdit;
    RxDBCalcEdit2: TRxDBCalcEdit;
    RxDBCalcEdit3: TRxDBCalcEdit;
    Label14: TLabel;
    Label15: TLabel;
    procedure BitInseriItemClick(Sender: TObject);
    procedure BitEditarItemClick(Sender: TObject);
    procedure BitExcluirItemClick(Sender: TObject);
    procedure BitSalvarItemClick(Sender: TObject);
    procedure BitCancelarItemClick(Sender: TObject);
    procedure BtnCancelarClick(Sender: TObject);
    procedure BtnIncluirClick(Sender: TObject);
    procedure BtnExcluirClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure dsItensStateChange(Sender: TObject);
    procedure dsCadastroStateChange(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure DBLCBProdutoMercadoriaKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure dsItensDataChange(Sender: TObject; Field: TField);
    procedure EdCodProdutoMercadoriaExit(Sender: TObject);
    procedure DBLCBProdutoMercadoriaExit(Sender: TObject);
    procedure BtnSalvarClick(Sender: TObject);
    procedure DSProduto_MercadoriaDataChange(Sender: TObject;
      Field: TField);
    procedure EdCodProdutoMercadoriaKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure RxDBCQtdExit(Sender: TObject);
    procedure RxDBValorUnitarioExit(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

const
  ctPesquisaParametro =
    'SELECT'#10+
    '  PAR_COMPRA_GERAPEDSEMCOTACAO'#10+
    'FROM'#10+
    '  PARAMETRO'#10+
    'WHERE'#10+
    '  PARAMETRO.COD_EMPRESA = %s';

  ct_Pesquisa_PRoduto = ' SELECT * FROM PRODUTO WHERE (%s = %s) %s ';

var
  FCadastroPedidoAlameda: TFCadastroPedidoAlameda;

implementation

uses UPesquisaRapida, UGeral, UDmGestao, NotaPedido, UPesquisaPedidoCompra,
  UPesquisaItensPedidoCompra, RelatorioEmissaoPedido,
  RelatorioAutorizaPedido,UGestao;

{$R *.dfm}

procedure TFCadastroPedidoAlameda.BitInseriItemClick(Sender: TObject);
begin
  inherited;

  DSItens.DataSet.Insert;
  EdCodProdutoMercadoria.Clear;

  DSItens.DataSet.fieldbyname('ITENS_PED_SITUACAO').AsInteger := 0;
  DSItens.DataSet.fieldbyname('ITENS_PED_LOCAL'   ).asvariant := dsCadastro.dataset.fieldbyname('PED_LOCAL').asvariant;
  DSItens.DataSet.FieldByName('ITENS_PED_QUANTIDADEATEN').AsInteger   := 0;
  DSItens.DataSet.FieldByName('ITENS_PED_QUANTIDADE').AsInteger       := 0;
  DSItens.DataSet.fieldbyname('ITENS_PED_PERC_IPI').AsInteger := 0;


end;

procedure TFCadastroPedidoAlameda.BitEditarItemClick(Sender: TObject);
begin
  inherited;
 DSItens.DataSet.Edit;
end;

procedure TFCadastroPedidoAlameda.BitExcluirItemClick(Sender: TObject);
begin

  if application.MessageBox('Deseja realmente excluir esse item?','',
                            MB_YESNO + MB_IconQuestion + MB_DefButton2) = IDno  then
    Exit;

  inherited;

  DSItens.DataSet.Delete;
end;

procedure TFCadastroPedidoAlameda.BitSalvarItemClick(Sender: TObject);
begin
  inherited;

  DSItens.DataSet.FieldByName('USUARIO_CADASTRO').AsString  := Usuario;
  DSItens.DataSet.FieldByName('USUARIO_AUTERACAO').AsString := Usuario;
  DSItens.DataSet.FieldByName('DATA_CADASTRO').AsDateTime   := Now;
  DSItens.DataSet.FieldByName('DATA_AUTERACAO').AsDateTime  := Now;
  DSItens.DataSet.FieldByName('EXCLUIDO').AsString          := 'N';

  DSItens.DataSet.Post;

end;

procedure TFCadastroPedidoAlameda.BitCancelarItemClick(Sender: TObject);
begin
  inherited;
  DSItens.DataSet.Cancel;
end;

procedure TFCadastroPedidoAlameda.BtnCancelarClick(Sender: TObject);
begin
  inherited;
  dsCadastro.DataSet.Cancel;

  cdsCadastro.CancelUpdates;
  cdsItens.CancelUpdates;
end;

procedure TFCadastroPedidoAlameda.BtnIncluirClick(Sender: TObject);
begin
  inherited;
  dsCadastro.DataSet.FieldByName('PED_CODIGO').AsInteger                 := Retorna_Codigo_Generetor_comItens('GEN_PEDIDO','PED_CODIGO','TRIG_PEDIDO');
  dsCadastro.DataSet.FieldByName('PED_SITUACAO').AsInteger               := 0;
  dsCadastro.DataSet.FieldByName('PED_TIPO').AsString                    := 'C';
  dsCadastro.DataSet.FieldByName('PED_ORIGEM').AsString                  := 'D';
  dsCadastro.DataSet.FieldByName('PED_FECHAMENTO').AsString              := 'N';
  dsCadastro.DataSet.FieldByName('PED_COMPRADOR').AsString               := Usuario;
  dsCadastro.DataSet.FieldByName('PED_CRITERIO').AsInteger               := 1;
  dsCadastro.DataSet.FieldByName('PED_DATA'    ).AsDateTime              := now;
  dsCadastro.DataSet.FieldByName('PED_VALOR_DESC0NTO').AsFloat           := 0;
  dsCadastro.DataSet.FieldByName('PED_VALOR_TOT_ITENS').AsFloat          := 0;
  dsCadastro.DataSet.FieldByName('PED_VALOR_CREDITO' ).AsFloat           := 0;
  dsCadastro.DataSet.FieldByName('PED_VALOR_TOT_OUTROS_VALORES').AsFloat := 0;
  dsCadastro.DataSet.Fieldbyname('PED_DATASITUACAO').AsDateTime          := Now;


end;

procedure TFCadastroPedidoAlameda.BtnExcluirClick(Sender: TObject);
begin
  if application.MessageBox('Deseja realmente excliur esse registro e seus respectivos itens?','',
                            MB_YESNO + MB_IconQuestion + MB_DefButton2) = IDno  then
    Exit;

  inherited;

end;

procedure TFCadastroPedidoAlameda.FormCreate(Sender: TObject);
begin
  inherited;
  
  PCPedido.ActivePageIndex := 0;
  dsCadastro.DataSet.Open;
  dsItens.DataSet.Open;

  TCurrencyField(dsCadastro.DataSet.Fieldbyname('PED_VALOR_DESC0NTO'      )).DisplayFormat := '0.,00';
  TCurrencyField(dsCadastro.DataSet.Fieldbyname('PED_VALOR_CREDITO'       )).DisplayFormat := '0.,00';
  TCurrencyField(dsCadastro.DataSet.Fieldbyname('PED_VALOR_PEDIDO'        )).DisplayFormat := '0.,00';
  TCurrencyField(dsCadastro.DataSet.Fieldbyname('PED_VALOR_TOT_IPI'       )).DisplayFormat := '0.,00';
  TCurrencyField(dsCadastro.DataSet.Fieldbyname('PED_VALOR_TOT_OUTROS_VALORES')).DisplayFormat := '0.,00';

    if DSProduto_Mercadoria.DataSet.Active = false then
    DSProduto_Mercadoria.DataSet.open;

end;

procedure TFCadastroPedidoAlameda.dsItensStateChange(Sender: TObject);
begin
  inherited;
  if dsCadastro.DataSet.State in[dsEdit, dsInsert] then
  begin

    EdCodProdutoMercadoria.Enabled := dsItens.DataSet.State in [dsEdit, dsInsert];
    DBLCBProdutoMercadoria.Enabled := dsItens.DataSet.State in [dsEdit, dsInsert];
    RxDBCQtd.Enabled               := dsItens.DataSet.State in [dsEdit, dsInsert];
    RxDBValorUnitario.Enabled      := dsItens.DataSet.State in [dsEdit, dsInsert];
    RxDBValorTotal.Enabled         := dsItens.DataSet.State in [dsEdit, dsInsert];

    BitSalvarItem.Enabled          := dsItens.DataSet.State     in [dsEdit, dsInsert];
    BitCancelarItem.Enabled        := dsItens.DataSet.State     in [dsEdit, dsInsert];
    BitInseriItem.Enabled          := not(dsItens.DataSet.State in [dsEdit, dsInsert]);
    BitEditarItem.Enabled          := not(dsItens.DataSet.State in [dsEdit, dsInsert]);
    BitExcluirItem.Enabled         := not(dsItens.DataSet.State in [dsEdit, dsInsert]);

    if EdCodProdutoMercadoria.Enabled then
      EdCodProdutoMercadoria.SetFocus;

  end else begin

    EdCodProdutoMercadoria.Enabled := False;
    DBLCBProdutoMercadoria.Enabled := False;
    RxDBCQtd.Enabled               := False;
    RxDBValorUnitario.Enabled      := False;
    RxDBValorTotal.Enabled         := False;

    BitSalvarItem.Enabled          := False;
    BitCancelarItem.Enabled        := False;
    BitInseriItem.Enabled          := False;
    BitEditarItem.Enabled          := False;
    BitExcluirItem.Enabled         := False;

  end;
end;

procedure TFCadastroPedidoAlameda.dsCadastroStateChange(Sender: TObject);
begin
  inherited;
  
  if dsCadastro.DataSet.State in [dsEdit, dsInsert] then
  begin

    BitSalvarItem.Enabled          := dsItens.DataSet.State     in [dsEdit, dsInsert];
    BitCancelarItem.Enabled        := dsItens.DataSet.State     in [dsEdit, dsInsert];
    BitInseriItem.Enabled          := not(dsItens.DataSet.State in [dsEdit, dsInsert]);
    BitEditarItem.Enabled          := not(dsItens.DataSet.State in [dsEdit, dsInsert]);
    BitExcluirItem.Enabled         := not(dsItens.DataSet.State in [dsEdit, dsInsert]);

  end else begin

    BitSalvarItem.Enabled          := False;
    BitCancelarItem.Enabled        := False;
    BitInseriItem.Enabled          := False;
    BitEditarItem.Enabled          := False;
    BitExcluirItem.Enabled         := False;

  end;
end;

procedure TFCadastroPedidoAlameda.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  inherited;

  cdsCadastro.Filter   := '';
  cdsCadastro.Filtered := False;

  FCadastroPedidoAlameda    := Nil;
  Action := Cafree;
end;

procedure TFCadastroPedidoAlameda.DBLCBProdutoMercadoriaKeyDown(
  Sender: TObject; var Key: Word; Shift: TShiftState);
begin
  inherited;
  IF KEY = VK_F8 THEN
  BEGIN

    Application.CreateForm(TFPesquisaRapida,FPesquisaRapida);

    FPesquisaRapida.tipo    := 'PRODUTO';
    CaPtUrA_pEsQuIsA_rApIdA := '';

    FPesquisaRapida.ShowModal;

    if CaPtUrA_pEsQuIsA_rApIdA <> '' then
      DSItens.DataSet.FieldByName('ITENS_PED_PRODUTO').AsString := CaPtUrA_pEsQuIsA_rApIdA;

    CaPtUrA_pEsQuIsA_rApIdA := '';

    Exit;

  END;

  case key of
  114 : ShowMessage(TDBLookupComboBox(Sender).Text);

  116 : begin
           TDBLookupComboBox(Sender).ListSource.DataSet.Close;
           TDBLookupComboBox(Sender).ListSource.DataSet.Open;
          end ;
 end;


  if key = 46 then
  begin

    TDBLookupComboBox(Sender).KeyValue:=null;
    TDBLookupComboBox(Sender).DataSource.DataSet.FieldByName(TDBLookupComboBox(Sender).DataField).AsVariant:=null;
    EdCodProdutoMercadoria.Clear;

  end;
end;

procedure TFCadastroPedidoAlameda.dsItensDataChange(Sender: TObject;
  Field: TField);
begin
  inherited;
  
  if dsItens.DataSet.State = dsBrowse then
  begin

    EdCodProdutoMercadoria.Text := DBLCBProdutoMercadoria.ListSource.DataSet.FieldByName('PROD_CODIGO').AsString;
    //EdRefProdutoMercadoria.Text := DBLCBProdutoMercadoria.ListSource.DataSet.FieldByName('PROD_REFERENCIA').AsString;

  end;
end;

procedure TFCadastroPedidoAlameda.EdCodProdutoMercadoriaExit(
  Sender: TObject);
var str_Filtro : String;  
begin
  inherited;

    str_Filtro := ' ';

  if DSProduto_Mercadoria.DataSet.Active = false then
    DSProduto_Mercadoria.DataSet.open;

  if not(dsItens.DataSet.State in[dsEdit, dsInsert]) then
    Exit;

  if trim(EdCodProdutoMercadoria.Text) <> '' then
  begin

    if Usando_Query_Pesquisa(Format(ct_Pesquisa_PRoduto,['PROD_CODIGO',
                                                         EdCodProdutoMercadoria.Text,
                                                         str_Filtro])) then
    begin

       if  Query_Pesquisa.FieldByName('PROD_ATIVO').AsVariant = 'S' then
       begin
         DSItens.DataSet.FieldByName('ITENS_PED_PRODUTO').AsString := Query_Pesquisa.Fields[0].AsVariant;
         //DBLCBProdutoMercadoriaExit(Sender);
       end else begin
         Showmessage('Produto Inativo...');
         EdCodProdutoMercadoria.Clear;
       end

    end else begin

      Showmessage('Nenhum produto encontrado...');
      EdCodProdutoMercadoria.Clear;

    end;

  end;
end;

procedure TFCadastroPedidoAlameda.DBLCBProdutoMercadoriaExit(
  Sender: TObject);
begin
  inherited;

    if EdCodProdutoMercadoria.Text = '' then
  begin
    if DBLCBProdutoMercadoria.KeyValue <> null then
    begin
      EdCodProdutoMercadoria.Text := VarToStr(DBLCBProdutoMercadoria.KeyValue);
      DSItens.DataSet.Fieldbyname('ITENS_PED_PRODUTO_DESC').AsString := DBLCBProdutoMercadoria.Text;
    end;
                      
  end;

  if DBLCBProdutoMercadoria.KeyValue <> null then
    DSItens.DataSet.Fieldbyname('ITENS_PED_PRODUTO_DESC').AsString := DBLCBProdutoMercadoria.Text;
    
end;

procedure TFCadastroPedidoAlameda.BtnSalvarClick(Sender: TObject);
begin


  if DBDTData.Date = 0 then
  begin

    PCPedido.ActivePageIndex := 0;
    ShowMessage('A data do pedido precisa ser informada...');
    DBDTData.SetFocus;
    Exit;

  end;

  if DBLCBFornecedor.KeyValue = Null then
  begin

    PCPedido.ActivePageIndex := 0;
    ShowMessage('O Forncedor precisa ser informado...');
    DBLCBFornecedor.SetFocus;
    Exit;

  end;

  if DSItens.DataSet.RecordCount < 1 then
  begin

    PCPedido.ActivePageIndex := 1;
    ShowMessage('O Pedido precisa ter ao menos 1 item...');
    BitInseriItem.SetFocus;
    Exit;

  end;

  dsCadastro.DataSet.FieldByName('PED_FORNECEDOR_DESC').AsString  := DBLCBFornecedor.Text;
  dsCadastro.DataSet.FieldByName('CODIGOEMPRESA'   ).AsInteger    := CodigoEmpresa;


  inherited;
  cdsItens.ApplyUpdates(-1);

end;

procedure TFCadastroPedidoAlameda.DSProduto_MercadoriaDataChange(
  Sender: TObject; Field: TField);
begin
  inherited;
   EdCodProdutoMercadoria.Text := DSProduto_Mercadoria.DataSet.Fields[0].AsString;
end;

procedure TFCadastroPedidoAlameda.EdCodProdutoMercadoriaKeyDown(
  Sender: TObject; var Key: Word; Shift: TShiftState);
begin
  inherited;
  
  IF KEY = VK_F8 THEN
  BEGIN

    Application.CreateForm(TFPesquisaRapida,FPesquisaRapida);

    FPesquisaRapida.tipo    := 'PRODUTO';
    CaPtUrA_pEsQuIsA_rApIdA := '';

    FPesquisaRapida.ShowModal;

    if CaPtUrA_pEsQuIsA_rApIdA <> '' then
      DSItens.DataSet.FieldByName('ITENS_PED_PRODUTO').AsString := CaPtUrA_pEsQuIsA_rApIdA;

    CaPtUrA_pEsQuIsA_rApIdA := '';

    Exit;

  END;

end;

procedure TFCadastroPedidoAlameda.RxDBCQtdExit(Sender: TObject);
begin
  inherited;
  RxDBValorTotal.Field.AsFloat := RxDBCQtd.Field.AsFloat * RxDBValorUnitario.Field.AsFloat;
end;

procedure TFCadastroPedidoAlameda.RxDBValorUnitarioExit(Sender: TObject);
begin
  inherited;
  RxDBCQtd.OnExit(sender);
end;

end.
